package com.duguo.dynamicmvc.factory.processor.controller;

import javassist.CtClass;
import javassist.CtMethod;

import com.duguo.dynamicmvc.factory.ControllerFactory;
import com.duguo.dynamicmvc.factory.WorkingModel;


public interface ControllerClassCreator {

	public void setupDynamicControllerName(WorkingModel workingModel) throws Exception;

	public ControllerFactory getParentControllerFactory(WorkingModel workingModel);

	public void setupControllerClass(WorkingModel workingModel) throws Exception;

	public void setupControllerMethod(WorkingModel workCacheModel) throws Exception;

	public void setupInternalHandlerInterfaceCtClass(WorkingModel workCacheModel) throws Exception;

	public boolean isControllerMethod(CtMethod controllerMethodCtMethod) throws Exception;

	public boolean isOneParamsControllerMethod(CtMethod controllerMethodCtMethod) throws Exception;

	public boolean isTwoParamsControllerMethod(CtMethod controllerMethodCtMethod) throws Exception;

	public CtClass getViewCtClass() throws Exception;

}
